#ifndef REFFRAME_H_
#define REFFRAME_H_

#include "GeoCoord.h"
#include "../Math/Math.h"

namespace uav
{
namespace nav
{

using namespace math;

/**
 * @class RefFrame
 * @brief ENU reference frame class.
 */
class RefFrame
{
public:
	GeoCoord originGeo; ///< The geodetic coordinates of the origin.
	Vector3 originEcef; ///< The ECEF coordinates of the origin.
	Matrix ecefToLocal; ///< The rotation matrix that transforms ECEF vectors into the local ENU frame.

	/**
	 * Constructs an ENU reference frame with the origin at the given geodetic coordinates.
	 */
	RefFrame(const GeoCoord &geo);
};

}}

#endif
